草庐IT

Android TalkBack 和 fragment 堆栈

全部标签

android - 未注册 fragment Root View 的边距(在 ViewPager 中使用时)

所以我有这个简单的主布局:然后我使用FragmentPagerAdapter用不同的fragment填充ViewPager,这按预期工作,除了一件事。假设其中一个fragment具有这种布局,其中窗口是一个XML文件,其中包含一个带圆角的简单形状:...然后,由于某种原因,16dp的边距被完全忽略了。但是如果我将布局设置为:...然后就可以了。我真的不想为了让边距起作用而将整个布局嵌套在另一个布局中。另外,由于背景的原因,我不能改用填充。知道第一个版本有什么问题吗?我不必将布局放在另一个位置的任何替代方案? 最佳答案 原因是View

android - 如何在偏好 fragment 中获取偏好值

我想在自定义首选项屏幕中显示首选项的值。为此,我需要在首选项fragment中获取值,在本例中为字符串。在非fragment(Activity)中,我得到了例如值finalSharedPreferencesprefs=PreferenceManager.getDefaultSharedPreferences(this);并使用Stringphonenumber=prefs.getString("preference_name",null);获取字符串,但在首选项fragmentgetDefaultSharedPreferences不适用于首选项fragment。知道如何解决这个问题吗?

android - DialogFragment 使用接口(interface)回调到 Target Fragment

我正在尝试将一些数据从dialogfragment发送到目标fragment但它不起作用。我写了下面的代码,但是它通过了exception:java.lang.NullPointerException:Attempttoinvokeinterfacemethod'voidcom.x.x.FragmentAlertDialog$Communicator.setI(java.lang.String)'onanullobjectreference代码:publicclassFragmentAlertDialogextendsDialogFragment{Communicatorcallbac

java - 在 Fragment 中实现 RecyclerView

我试图在AppCompatActivity的ViewPager中的Fragment中创建一个ListView。在AppCompatActivity中,所有View元素都包装在CoordinatorLayout中。因为我使用了CoordinatorLayout。我必须使用RecylerView我正在尝试遵循来自的培训developer.android.com,但我的应用程序在我登录后停止了。这是我在应用程序停止的myFragment中的代码。importandroid.app.Activity;importandroid.os.Bundle;importandroid.support.v

android - FragmentManager : moveToState: Fragment state for GridFragment{. ..} 未内联更新;预期状态 1 找到 0

我有一个简单的Activity和RetainedFragment,就像AlexLockwoodblogpostexample.我的Activity在onCreate()中是这样的:FragmentManagerfm=getSupportFragmentManager();retainedFragment=(GridFragment)fm.findFragmentByTag(RETAINED_FRAGMENT_TAG);//IftheFragmentisnon-null,thenitiscurrentlybeing//retainedacrossaconfigurationchange.

java - 在 Activity/fragment 中确认警报对话框后,如何在单击时更新我的​​ RecyclerView 按钮状态?

我有一个非常独特的情况,我在recyclerview中有一个按钮,点击后(初始状态“注册”),将一个Intent传递给fragment或Activity中的广播接收器,它会抛出一个警报对话框,带有2选项,是或否。如果选择否,则不会发生任何事情并且对话框消失,但如果单击是,它将处理我在我的演示者类中定义的函数(与数据相关)并且应该将我的按钮ui状态更新为“取消”。反之亦然,点击取消会返回警报,点击是会将ui文本切换为注册。现在我已经实现了如下代码。(请注意,即使notifydatasetchanged对我也不起作用)。知道我做错了什么以及如何实现这一目标吗?适配器中我的publicvoi

android 我们的 Activity 在堆栈中会存在多长时间

我担心的是,我们的Activity将在堆栈中保留多长时间?我的意思是,当从我的应用程序中按下主页按钮,然后通过单击其图标再次启动我的应用程序时,它将从我按下主页按钮的位置重新获得正确的位置,而无需为此编写任何特殊代码。我不知道我是否正确,我认为我的应用程序被插入堆栈,当我启动它时,它被从服务器拉出。我想知道在那个堆栈或存储它的任何其他地方会有多长时间?按下主页按钮并使用许多其他应用程序后,它会被其他应用程序取代吗? 最佳答案 您的Activity将保持加载状态,直到Android决定它需要返回资源。您可以在Activity中覆盖一些

android - 使用 add() 方法添加 fragment 不会隐藏以前的 fragment

我在使用add()方法添加新fragment时遇到“意外行为”。我想在FrameLayout上添加一个新fragment,但是当我这样做时,之前的fragment仍然可见。这是使用add()方法时的预期结果吗?是因为我使用的是FrameLayout,add()方法只是在FrameLayout上放置了一个fragment而不影响前一个fragment?谢谢 最佳答案 不是错误。尝试替换(..)。如果需要,而不是添加到返回堆栈。编辑我认为使用replace或remove()add()将解决您的问题,但正如您在相关的post中突出显示的那

android - 如何清除后按事件的 Activity 堆栈跟踪?

我创建了一个具有多个页面的应用程序,从一个页面到另一个页面的导航代表了一个关键流程。我不希望用户能够在没有事先警告他的情况下按下后退按钮并退出Activity,然后最终删除所有堆栈跟踪,这样当Activity再次启动时它会重新开始。到目前为止,我一直在使用类似于以下功能的东西:@OverridepublicvoidonBackPressed(){this.finish();Intentint1=newIntent(this,Home.class);int1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(int1);supe

java - 旋转时 fragment 消失

我使用java添加了fragment。当我以纵向模式打开应用程序时,它可以正常工作。如果我旋转fragment就会消失。但如果我关闭应用程序,然后旋转手机,然后再次打开应用程序,它就可以工作了。我有两种不同的布局,一种用于纵向模式,另一种用于横向模式,两者同名,我在“layout”文件夹中有纵向布局,在“layout-land”文件夹中有横向布局。我好像忘记了什么,老实说,我是android开发的新手。Activity:@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanc